package com.fowo.api.model.tmp.walmart.order.goods;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 沃尔玛订单商品临时表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class TmpWalmartOrderGoodsImportPo {

  /** 订单号 */
  @ExcelProperty("订单号")
  @Size(max = 50, message = "订单号长度不能超过50")
  private String purchaseOrderId;

  /** 参考号 */
  @ExcelProperty("参考号")
  @Size(max = 50, message = "参考号长度不能超过50")
  private String customerOrderId;

  /** 行号 */
  @ExcelProperty("行号")
  @Size(max = 50, message = "行号长度不能超过50")
  private String lineNumber;

  /** 产品名 */
  @ExcelProperty("产品名")
  @Size(max = 5000, message = "产品名长度不能超过5000")
  private String productName;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String sku;

  /** 产品状况 */
  @ExcelProperty("产品状况")
  @Size(max = 50, message = "产品状况长度不能超过50")
  private String condition;

  /** 产品图片 */
  @ExcelProperty("产品图片")
  @Size(max = 500, message = "产品图片长度不能超过500")
  private String imageUrl;

  /** 产品重量 */
  @ExcelProperty("产品重量")
  @Size(max = 50, message = "产品重量长度不能超过50")
  private String weight;

  /** 产品重量单位 */
  @ExcelProperty("产品重量单位")
  @Size(max = 50, message = "产品重量单位长度不能超过50")
  private String weightUnit;

  /** 费用信息 */
  @ExcelProperty("费用信息")
  private String charges;

  /** 数量单位 */
  @ExcelProperty("数量单位")
  @Size(max = 50, message = "数量单位长度不能超过50")
  private String unitOfMeasurement;

  /** 数量 */
  @ExcelProperty("数量")
  @Size(max = 50, message = "数量长度不能超过50")
  private String amount;

  /** 状态日期 */
  @ExcelProperty("状态日期")
  @DateTimeString(message = "状态日期不是有效的时间日期格式")
  private String statusDate;

  /** 状态列表 */
  @ExcelProperty("状态列表")
  private String orderLineStatuses;

  /** 退货单号 */
  @ExcelProperty("退货单号")
  @Size(max = 50, message = "退货单号长度不能超过50")
  private String returnOrderId;

  /** 原始发货方式 */
  @ExcelProperty("原始发货方式")
  @Size(max = 50, message = "原始发货方式长度不能超过50")
  private String originalCarrierMethod;

  /** 参考行ID */
  @ExcelProperty("参考行ID")
  @Size(max = 50, message = "参考行ID长度不能超过50")
  private String referenceLineId;

  /** 配送中心 */
  @ExcelProperty("配送中心")
  @Size(max = 50, message = "配送中心长度不能超过50")
  private String fulfillmentOption;

  /** 配送方式 */
  @ExcelProperty("配送方式")
  @Size(max = 50, message = "配送方式长度不能超过50")
  private String shipMethod;

  /** 商店ID */
  @ExcelProperty("商店ID")
  @Size(max = 50, message = "商店ID长度不能超过50")
  private String storeId;

  /** 打包时间 */
  @ExcelProperty("打包时间")
  @DateTimeString(message = "打包时间不是有效的时间日期格式")
  private String pickUpDateTime;

  /** 打包人 */
  @ExcelProperty("打包人")
  @Size(max = 50, message = "打包人长度不能超过50")
  private String pickUpBy;

  /** 运输计划类型 */
  @ExcelProperty("运输计划类型")
  @Size(max = 50, message = "运输计划类型长度不能超过50")
  private String shippingProgramType;

  /** 序列号 */
  @ExcelProperty("序列号")
  @Size(max = 50, message = "序列号长度不能超过50")
  private String serialNumbers;

  /** 取消意向 */
  @ExcelProperty("取消意向")
  @Size(max = 50, message = "取消意向长度不能超过50")
  private String intentToCancel;

  /** 配置ID */
  @ExcelProperty("配置ID")
  @Size(max = 50, message = "配置ID长度不能超过50")
  private String configId;

  /** 销售订单号 */
  @ExcelProperty("销售订单号")
  @Size(max = 50, message = "销售订单号长度不能超过50")
  private String sellerOrderId;
}
